﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace VDC.VONE.WSERIVCE {

    /// <summary>
    /// Lấy danh sách lĩnh vực
    /// </summary>
    public class ProfileTypeGroup {
        public int ProfileTypeGroupId {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
    }
    public class ProfileType {
        public int ProfileTypeId {
            get;
            set;
        }
        public string Code {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
        public int WorkflowId {
            get;
            set;
        }
        public int AmountProfile {
            get;
            set;
        }
        public int ResolveDays {
            get;
            set;
        }
        public decimal Fees {
            get;
            set;
        }
        public int DepartmentId {
            get;
            set;
        }
        public int ProfileTypeGroupId {
            get;
            set;
        }
        public int ImplementationListId {
            get;
            set;
        }
        public int ResultsImplementationListId {
            get;
            set;
        }
    }
    /// <summary>
    /// Căn cứ pháp lý
    /// </summary>
    public class LegalGroundsList {
        public int LegalGroundsListId {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
    }
    /// <summary>
    /// Lấy danh sách trạng thaí
    /// </summary>
    public class Level {
        public int LevelId {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
    }
    /// <summary>
    /// Thông tin hồ sơ thủ tục hành chánh
    /// </summary>
    public class Profile {
        public int ProfileId {
            get;
            set;
        }
        public string Code {
            get;
            set;
        }/*Mã hồ sơ*/
        public string Name {
            get;
            set;
        }/*Tên hồ sơ*/
        public int ProfileTypeId {
            get;
            set;
        }
        public int ProfileStatusId {
            get;
            set;
        } /*Id trạng thái hồ sơ : Trang thai ho so(CHOBOXUNG, DABOXUNG, TIEPNHAN, CHOPHANCONG, 
                                                 *DAPHANCONG, CHOTHULY, DANGTHULY, HOANTHANH, CHODUYET, 
                                                 *DADUYET, KHONGDUYET, CHOKY, DAKY, KHONGKY, DATHUPHI, CHOTRA, DATRA, TUCHOI)*/
        public string ProfileStatusName {
            get;
            set;
        } 
        public string SmsGet {
            get;
            set;
        }
        public string Email {
            get;
            set;
        }
        public int CreateUserId {
            get;
            set;
        }
        public DateTime? CreateDate {
            get;
            set;
        }
        public DateTime? ReceivingDate {
            get;
            set;
        } /*Ngày tiếp nhận*/
        public DateTime? AppointmentDate {
            get;
            set;
        } /*Ngày hẹn trả*/
        public int LevelId {
            get;
            set;
        }
        public bool Object {
            get;
            set;
        }
        public DateTime? SettlementDate {
            get;
            set;
        }
        public string Notes {
            get;
            set;
        }
        public string Attachments {
            get;
            set;
        }
        public string ContentWork {
            get;
            set;
        }
        public int StorageLocationProfileListId {
            get;
            set;
        }
        public bool IsDelete {
            get;
            set;
        }
        public string OrganName {
            get;
            set;
        }
        public string Address {
            get;
            set;
        }
        public string Phone {
            get;
            set;
        }
        public string AttachmentsOriginal {
            get;
            set;
        }
        public bool IsOpen {
            get;
            set;
        }
    }
    /// <summary>
    /// Danh mục thành phần hồ sơ
    /// </summary>
    public class CompositionProfileList {
        public int CompositionProfileListId {
            get;
            set;
        }
        public string Code {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
    }
    /// <summary>
    /// Danh mục yêu cầu
    /// </summary>
    public class RequirementsList {
        public int RequirementsListId {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }
    }
    /// <summary>
    /// Danh mục kết quả thực hiện
    /// </summary>
    public class ResultsImplementatior {
        public int ResultsImplementationListId {
            get;
            set;
        }
        public string Name {
            get;
            set;
        }

    }
    /*-------------------------Models---------------------------*/
    /// <summary>
    /// [câu 1 Lấy danh sách lĩnh vực]*/
    /// </summary>
    public class GetProfileTypeGroupsAllModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<ProfileTypeGroup> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 2: Lấy danh sách thủ tục theo lĩnh vực]
    /// </summary>
    public class GetProfileTypeByProfileTypeGroupsModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<ProfileType> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 3: Lấy thủ tục theo ID thủ tục]
    /// </summary>
    public class GetProfileTypeByIdModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public ProfileType model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 4] Lấy yêu cầu thực hiện thủ tục hành chính theo ID thủ tục
    /// </summary>
    public class GetRequirementsListByIdProfileTypeModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<RequirementsList> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 5] Lấy căn cứ pháp lý theo ID thủ tục
    /// </summary>
    public class GetLegalGroundsListByIdProfileTypeModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<LegalGroundsList> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    /*Câu 6: lấy thành phần hồ sơ theo ID thủ tục*/
    public class GetCompositionProfileListByIdProfileTypeModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<CompositionProfileList> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    public class GetLevelAllModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<Level> model {
            get;
            set;
        } /*Kết quả trả về*/
    }

    public class GetProfileByCodeModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<Profile> model {
            get;
            set;
        } /*Kết quả trả về*/
    }
    public class TiepNhanHoSoModel {
        /*Note: [*] bắt buộc*/
        public int ProfileTypeId {
            get;
            set;
        } /* [*] */
        //public int ProfileStatusId { get; set; }/*[Không cần xét ws sẽ cập nhật lại] Trạng thái hố sơ default: Tiếp nhận*/
        public List<int> CompositionProfileListIds {
            get;
            set;
        } /*[lấy thông tin từ câu 6]Thành phần hồ so*/
        public string Name {
            get;
            set;
        }/*[*] Tên hồ sơ*/
        public string SmsGet {
            get;
            set;
        }/*Số điện thoại nhận tin nhắn*/
        public string Email {
            get;
            set;
        }/*Email*/
        public int LevelId {
            get;
            set;
        }/*[lấy từ câu 7] Lần cấp*/
        public bool Object {
            get;
            set;
        }/*đối tượng thực hiện*/
        public string OrganName {
            get;
            set;
        }/*[*] Tên tổ chức/cá nhân*/
        public string Address {
            get;
            set;
        }/*Điạ chỉ tổ chức/cá nhân*/
        public string Phone {
            get;
            set;
        }/*Điện thoại tổ chức/ cá nhân*/
        public string Notes {
            get;
            set;
        }/*Ghi chú*/
        public fileUpload Attachments {
            get;
            set;
        }/*file đính kèm nội dung đơn*/
        public fileUpload AttachmentsOriginal {
            get;
            set;
        }/*file đính kèm hồ sơn gốc*/
        public int UserId {
            get;
            set;
        }/*[không cần xét, để null]*/

    }




    public class fileUpload {
        public byte[] f {
            get;
            set;
        }
        public string fileName;
    }

    public class ResulTiepNhanHoSoModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
    }

    public class ResultsImplementatiorByIdProfileTypeModel {
        public int status {
            get;
            set;
        }/*0: erro | 1: success*/
        public string message {
            get;
            set;
        } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public ResultsImplementatior model {
            get;
            set;
        } /*Kết quả trả về*/
    }
}